import torch
import torch.nn as nn

"""Define model architecture, you are encouraged to change and experiment with the model architecture."""


class Classifier(nn.Module):
    def __init__(self):
        super(Classifier, self).__init__()
        self.fc1 = nn.Sequential(
            nn.Linear(429, 4096),
            nn.ReLU(inplace=True),
            nn.Dropout(p=.3),

            nn.Linear(4096, 1024),
            nn.ReLU(inplace=True),
            nn.Dropout(p=.3),

            nn.Linear(1024, 512),
            nn.ReLU(inplace=True),
            nn.Dropout(p=.3),

            nn.Linear(512, 39))

        # self.layer1 = nn.Linear(429, 4096)
        #
        # self.layer2 = nn.Linear(4096, 1024)
        # self.layer3 = nn.Linear(1024, 512)
        # self.layer4 = nn.Linear(512, 128)
        # self.out = nn.Linear(128, 39)
        #
        # self.act_fn = nn.ReLU()

    def forward(self, x):
        # x = self.layer1(x)
        # x = self.act_fn(x)
        #
        # x = self.layer2(x)
        # x = self.act_fn(x)
        #
        # x = self.layer3(x)
        # x = self.act_fn(x)
        #
        # x = self.layer4(x)
        # x = self.act_fn(x)
        #
        # x = self.out(x)

        return self.fc1(x)
